package com.endbd.marketing.service;


import com.endbd.feignapi.model.marketing.Custom;
import com.endbd.feignapi.model.marketing.Order;
import com.endbd.feignapi.model.marketing.Orderdetails;
import com.endbd.feignapi.model.purchase.CBrand;
import com.endbd.feignapi.model.purchase.CProduct;
import com.endbd.feignapi.model.purchase.CType;
import com.endbd.feignapi.model.system.City;
import com.endbd.feignapi.model.system.Job;
import com.endbd.feignapi.model.system.Province;
import com.endbd.feignapi.model.system.User;
import com.endbd.marketing.model.MarketingCondition;
import com.endbd.marketing.model.MarketingOrdersCondition;
import com.endbd.marketing.model.MarketingOrdersDetailsCondition;
import com.endbd.marketing.model.PageBean;

import java.util.List;

public interface IMarketingService {

    //客户浏览页面的分页查询
    PageBean<Custom> queryMarketingPageByCondition(PageBean<Custom> pageBean,MarketingCondition conn);

    List<Custom> queryMarketingListByCondition(MarketingCondition conn);

    //客户详情页面
    Custom queryMarketingViewByCondition(MarketingCondition conn);

    List<City> queryCity(MarketingCondition conn);

    City queryCityByMarketingCondition(MarketingCondition conn);

    User queryUserBycreateId(Integer createId);

    void updateStatus(MarketingCondition conn );

    List<User> queryName(MarketingCondition conn);

    void assignment(MarketingCondition conn);

    void updateMarketingCustom(Custom custom);

    void addMarketingCustom(Custom custom);

    PageBean<Order> queryMarketingOrdersListByCondition(PageBean<Order> pageBean,MarketingOrdersCondition conn);

    List<Order> queryMarketingOrdersListByCondition(MarketingOrdersCondition conn);

    List<CBrand> queryBrand();

    List<CType> queryTypeByBrandId(Integer brandId);

    List<CProduct> queryProductByTypeId(Integer typeId);

    List<CProduct> queryProductByproductId(Integer productId);

    List<Job> queryJobByDeptId(Integer deptId);

    List<User> queryUserByJobId(Integer jobId);

    void addOrder(MarketingOrdersCondition conn);

    void addOrderDetail(Orderdetails orderdetails);

    List<Orderdetails> queryOrderDetailsByOrderId(MarketingOrdersDetailsCondition conn);

    void delOrder(String orderId);

    void delOrderDetail(String orderId);

    void orderExamine(Order order);

    void orderAudit(Order order);

    Custom queryAddressByCustomId(Custom custom);

    void updateOrder(MarketingOrdersCondition conn);

    void updateOrderWarehouse(MarketingOrdersCondition conn);

    void addOrderWarehouse(MarketingOrdersCondition conn);



}
